import { z } from "zod"

const params = {
  params: z.object({
    id: z.string(),
  }),
}

export const getUserPageSchema = z.object({
  query: z.object({
    pageSize: z.string(),
    pageNo: z.string(),
    // name: z.string().optional(),
    // email: z.string().email().optional(),
  }),
})

export const getUserSchema = z.object({
  ...params,
})

export const updateUserSchema = z.object({
  ...params,
  body: z
    .object({
      name: z.string(),
      photo: z.string(),
    })
    .partial(),
})

export const deleteUserSchema = z.object({
  ...params,
})

export type GetUserPageInput = z.infer<typeof getUserPageSchema>["query"]
export type GetUserInput = z.infer<typeof getUserSchema>["params"]
export type UpdateUserInput = z.infer<typeof updateUserSchema>
export type DeleteUserInput = z.infer<typeof deleteUserSchema>["params"]
